You are here: Symbol Reference > Dew Namespace > Dew.Signal Namespace > Dew.Signal.Units Namespace > Classes > SignalUtils Class > SignalUtils Methods > Blackman Method > SignalUtils.Blackman Method ([In] TVec, double, TSignalWindowMode)
Dew Signal for .NET
ContentsIndexHome
PreviousUpNext
SignalUtils.Blackman Method ([In] TVec, double, TSignalWindowMode)

Blackman window.

Syntax
C#
Visual Basic
public static TVec Blackman([In] TVec Src, double alfa, TSignalWindowMode WindowMode);

Applies Blackman window with alfa parameter to Src. Window functions are applied to the signal prior to conversion to frequency domain with the FFT algorithm, to reduce the spectral leakage. Their side-effect is a lower frequency resolution. The window is defined as [1] p. 6-7:

alpha + 1 2*Pi*n alpha 4*Pi*n w[n] = ---------- - 0.5*cos -------- - ------ * cos(-------) 2 n - 1 2 n - 1 alpha = -0.16 (standard window) alpha = - 0.25 (asymptotic optimal window for large n)

 

w[n] = 0.42 - 0.5*cos(2*Pi*n/(M-1)) + 0.08*cos(4*Pi*n/(M-1)) 

0 <= n <= M - 1 

References:  

[1] Intel IPP SPL v5.3 manual

Compute the frequency response of a lowpass filter with a cutoff at 40 Hz, if the sampling frequency is 200Hz and the filter is designed with the blackman window. 

 

using Dew.Math; using Dew.Math.Units; using Dew.Signal; using Dew.Signal.Units; using Dew.Math.Tee; using Dew.Signal.Tee; private void button1_Click(object sender, EventArgs e) { Vector h = new Vector(100); Vector Response = new Vector(0); Vector FreqFr = new Vector(0); SignalUtils.FirImpulse(h, new double[1] {40},0, TFilterType.ftLowpass, TSignalWindowType.wtRectangular,1,200); SignalUtils.Blackman(h,0.1,TSignalWindowMode.wmSymmetric); //window the sinc impulse response SignalUtils.FrequencyResponse(h,null,Response,8,false, TSignalWindowType.wtRectangular, 0); FreqFr.Size(Response.Length); FreqFr.Ramp(0,200*0.5/Response.Length); MtxVecTee.DrawIt(FreqFr, Response,"Frequency response",false); }
Copyright (c) 1999-2024 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!